package com.lou1052.core.base.annotation.thread.concurrent;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;


@Target({ ElementType.FIELD, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
/**
 * 
* 
* 项目名称：faith 
* 类名称：GuardeBy 
* 作用于:  状态成员变量
* 类描述： 标示锁对象的持有者
* 创建人：liuqing 
* 创建时间：2012-6-11 下午1:11:57 
* 修改人：liuqing 
* 修改时间：2012-6-11 下午1:11:57 
* 修改备注： 
* @version 
*
 */
public  @interface GuardeBy {
	/**
	 * 
	* @Title: type
	* @Description: 标示锁类型
	* @param @return    锁类型
	* @return GuardByType    返回类型
	* @throws
	 */
	GuardByType type() default GuardByType.THIS;
	
	/**
	 * 
	* @Title: value
	* @Description: 标示锁位置 属性名称 或 锁名称 或方法名称(针对 GuardByType.METHOD) 
	*            格式:类名称.属性名称 or 方法名称  本类的可以省略类名称.
	* @param @return    设定文件
	* @return String    返回类型
	* @throws
	 */
	String value();

}
